<?php

/**
 * RateItemID.
 *
 * PHP version 8.3
 *
 * @category Class
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */

/**
 * Amazon Shipping API.
 *
 * The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments.
 *
 * The version of the OpenAPI document: v2
 * Contact: swa-api-core@amazon.com
 * Generated by: https://openapi-generator.tech
 * Generator version: 7.9.0
 */

/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

namespace SpApi\Model\shipping\v2;

/**
 * RateItemID Class Doc Comment.
 *
 * @category Class
 *
 * @description Unique ID for the rateItem.
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */
class RateItemID
{
    /**
     * Possible values of this enum.
     */
    public const BASE_RATE = 'BASE_RATE';

    public const TRANSACTION_FEE = 'TRANSACTION_FEE';

    public const ADULT_SIGNATURE_CONFIRMATION = 'ADULT_SIGNATURE_CONFIRMATION';

    public const SIGNATURE_CONFIRMATION = 'SIGNATURE_CONFIRMATION';

    public const NO_CONFIRMATION = 'NO_CONFIRMATION';

    public const WAIVE_SIGNATURE = 'WAIVE_SIGNATURE';

    public const IMPLIED_LIABILITY = 'IMPLIED_LIABILITY';

    public const HIDDEN_POSTAGE = 'HIDDEN_POSTAGE';

    public const DECLARED_VALUE = 'DECLARED_VALUE';

    public const SUNDAY_HOLIDAY_DELIVERY = 'SUNDAY_HOLIDAY_DELIVERY';

    public const DELIVERY_CONFIRMATION = 'DELIVERY_CONFIRMATION';

    public const IMPORT_DUTY_CHARGE = 'IMPORT_DUTY_CHARGE';

    public const VAT = 'VAT';

    public const NO_SATURDAY_DELIVERY = 'NO_SATURDAY_DELIVERY';

    public const INSURANCE = 'INSURANCE';

    public const COD = 'COD';

    public const FUEL_SURCHARGE = 'FUEL_SURCHARGE';

    public const INSPECTION_CHARGE = 'INSPECTION_CHARGE';

    public const DELIVERY_AREA_SURCHARGE = 'DELIVERY_AREA_SURCHARGE';

    public const WAYBILL_CHARGE = 'WAYBILL_CHARGE';

    public const AMAZON_SPONSORED_DISCOUNT = 'AMAZON_SPONSORED_DISCOUNT';

    public const INTEGRATOR_SPONSORED_DISCOUNT = 'INTEGRATOR_SPONSORED_DISCOUNT';

    public const OVERSIZE_SURCHARGE = 'OVERSIZE_SURCHARGE';

    public const CONGESTION_CHARGE = 'CONGESTION_CHARGE';

    public const RESIDENTIAL_SURCHARGE = 'RESIDENTIAL_SURCHARGE';

    public const ADDITIONAL_SURCHARGE = 'ADDITIONAL_SURCHARGE';

    public const SURCHARGE = 'SURCHARGE';

    public const REBATE = 'REBATE';

    public const HIGH_CUBE_SURCHARGE = 'HIGH_CUBE_SURCHARGE';

    public const HIGH_LENGTH_SURCHARGE = 'HIGH_LENGTH_SURCHARGE';

    public const HIGH_WIDTH_SURCHARGE = 'HIGH_WIDTH_SURCHARGE';

    public const DEMAND_SURCHARGE = 'DEMAND_SURCHARGE';

    public const NONSTANDARD_FEE = 'NONSTANDARD_FEE';

    /**
     * Gets allowable values of the enum.
     *
     * @return string[]
     */
    public static function getAllowableEnumValues(): array
    {
        return [
            self::BASE_RATE,
            self::TRANSACTION_FEE,
            self::ADULT_SIGNATURE_CONFIRMATION,
            self::SIGNATURE_CONFIRMATION,
            self::NO_CONFIRMATION,
            self::WAIVE_SIGNATURE,
            self::IMPLIED_LIABILITY,
            self::HIDDEN_POSTAGE,
            self::DECLARED_VALUE,
            self::SUNDAY_HOLIDAY_DELIVERY,
            self::DELIVERY_CONFIRMATION,
            self::IMPORT_DUTY_CHARGE,
            self::VAT,
            self::NO_SATURDAY_DELIVERY,
            self::INSURANCE,
            self::COD,
            self::FUEL_SURCHARGE,
            self::INSPECTION_CHARGE,
            self::DELIVERY_AREA_SURCHARGE,
            self::WAYBILL_CHARGE,
            self::AMAZON_SPONSORED_DISCOUNT,
            self::INTEGRATOR_SPONSORED_DISCOUNT,
            self::OVERSIZE_SURCHARGE,
            self::CONGESTION_CHARGE,
            self::RESIDENTIAL_SURCHARGE,
            self::ADDITIONAL_SURCHARGE,
            self::SURCHARGE,
            self::REBATE,
            self::HIGH_CUBE_SURCHARGE,
            self::HIGH_LENGTH_SURCHARGE,
            self::HIGH_WIDTH_SURCHARGE,
            self::DEMAND_SURCHARGE,
            self::NONSTANDARD_FEE,
        ];
    }
}
